﻿using NP.BPMReportPlatform.AUTO.Adjust.Dto;
using NP.BPMReportPlatform.AUTO.Quotation.Dto;
using NP.BPMReportPlatform.AUTO.TechnicalDependence.Dto;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

namespace NP.BPMReportPlatform.AUTO
{
    public interface IAUTOAppService : IApplicationService
    {
        /// <summary>
        /// 查询数据
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PagedResultDto<GetSampleListOutput>> GetAllAsync(GetSampleListInput input);

        /// <summary>
        /// 导出数据
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<List<GetSampleListOutput>> ExportAsync(GetSampleListInput input);

        /// <summary>
        /// 查询数据
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PagedResultDto<TechnicalDependenceOutput>> GetAllAsync(TechnicalDependenceInput input);

        /// <summary>
        /// 导出数据
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<List<ExportTD1Output>> Export1Async(TechnicalDependenceInput input);
        /// <summary>
        /// 导出数据
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<List<ExportTD2Output>> Export2Async(TechnicalDependenceInput input);
        /// <summary>
        /// 导出数据
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<List<ExportTD3Output>> Export3Async(TechnicalDependenceInput input);
        /// <summary>
        /// 查询数据
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PagedResultDto<KGQuotationOutput>> GetAllAsync(GetKGQuotationInput input);

        /// <summary>
        /// 导出数据
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<List<ExportKGQuotationOutput>> ExportAsync(GetKGQuotationInput input);

        /// <summary>
        /// 查询数据
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PagedResultDto<KGAdjustOutput>> GetAllAsync(GetKGAdjustInput input);

        /// <summary>
        /// 导出数据
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<List<ExportKGAdjustOutput>> ExportAsync(GetKGAdjustInput input);
        /// <summary>
        /// 查询数据
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PagedResultDto<CPUQuotationOutput>> GetAllAsync(GetCPUQuotationInput input);

        /// <summary>
        /// 查询数据
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PagedResultDto<CPUAdjustOutput>> GetAllAsync(GetCPUAdjustInput input);

        /// <summary>
        /// 导出数据
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<List<CPUAdjustOutput>> ExportAsync(GetCPUAdjustInput input);
    }
}
